#ifndef _GUI_H
#define _GUI_H
#include <header.h>
/*main window*/
#define MAIN_WINDOW_HEIGHT	200
#define MAIN_WINDOW_WIDTH	500
#define SCROLLED_WINDOW_HEIGHT	200
#define SCROLLED_WINDOW_WIDTH	500
/*icmp*/
#define ICMP_DIALOG_WIDTH 250
#define ICMP_DIALOG_HEIGHT 250

#define APP_ICON_PATH   "./icon"

extern GtkWidget *main_window;

void popup_query_dialog(char *path, pid_t pid, ipq_packet_msg_t *m);
void popup_md5warn_dialog(char *path, pid_t pid, ipq_id_t packet_id);
void window_monitor_init(void);
GdkPixbuf* get_program_icon_by_pid(pid_t pid);
GdkPixbuf* get_program_icon_by_desktop_entry(char *name);
void init_tray_icon(void);
void show_main_window(void);
void add_general_list_store(char *path, int allow);
void add_user_defined_list_store(char *desc, int action, int proto,
                                 int lpf, int lpt,
                                 int rpf, int rpt);
GtkWidget *get_app_page(void);
GtkWidget *get_custom_page(void);
GtkWidget *get_advance_page(void);
GtkWidget *get_preference_page(void);
GtkWidget *get_netstat_page(void);
GtkWidget *make_menu_item(gchar     *name,
                          GCallback  callback,
                          gpointer   data);
void show_add_rule_dialog(void);
void show_icmp_dialog(void);
void popup_error_dialog(GtkWindow *parent, GtkMessageType type,
                        const char *message_content);
#endif
